Java I/O (Input/Output) লাইব্রেরি এমন একটি গুরুত্বপূর্ণ অংশ, যা ডেটা পড়া এবং লেখা (file handling) সহজ করে তোলে। Java I/O লাইব্রেরি দুটি প্রধান প্যাকেজে ভাগ করা যায়: java.io
এবং **java.nio
**। এখানে java.io
লাইব্রেরির বিভিন্ন ক্লাস ও পদ্ধতি ব্যবহার করে I/O হ্যান্ডলিং এর প্রাথমিক ধারণা এবং উদাহরণ দেয়া হয়েছে।
Java I/O লাইব্রেরি InputStream এবং OutputStream এর মাধ্যমে বাইনারি ডেটা এবং Reader এবং Writer এর মাধ্যমে টেক্সট ডেটা হ্যান্ডেল করে। এই ক্লাসগুলো java.io
প্যাকেজের অধীনে আসে এবং ফাইল, কনসোল, বা নেটওয়ার্কের সাথে ডেটা আদান-প্রদান করতে সহায়ক।
ফাইল থেকে ডেটা পড়তে, Java I/O লাইব্রেরির FileInputStream বা FileReader ক্লাস ব্যবহার করা যায়। নিচে FileInputStream
এবং BufferedReader
ব্যবহার করে একটি ফাইল থেকে ডেটা পড়ার উদাহরণ দেওয়া হয়েছে।
FileInputStream
ব্যবহার করে ফাইল থেকে ডেটা পড়াimport java.io.FileInputStream;
import java.io.IOException;
public class FileReadingExample {
public static void main(String[] args) {
try (FileInputStream fis = new FileInputStream("example.txt")) {
int data;
while ((data = fis.read()) != -1) {
System.out.print((char) data);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
এখানে, FileInputStream
ব্যবহার করে একটি ফাইল থেকে বাইনারি ডেটা পড়া হচ্ছে। fis.read()
একে একে ফাইলের সমস্ত বাইট পড়ে এবং -1
আসা পর্যন্ত এটি চলতে থাকে।
BufferedReader
ব্যবহার করে ফাইল থেকে টেক্সট পড়াimport java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class BufferedReaderExample {
public static void main(String[] args) {
try (BufferedReader reader = new BufferedReader(new FileReader("example.txt"))) {
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
এখানে, BufferedReader
ব্যবহার করা হয়েছে, যা একে একে ফাইলের সমস্ত লাইন পড়ে এবং readLine()
ফাংশনটি প্রতিটি লাইন রিটার্ন করে।
Java I/O লাইব্রেরির FileOutputStream বা FileWriter ক্লাস ব্যবহার করে ফাইলে ডেটা লেখা যায়। নিচে FileOutputStream
এবং BufferedWriter
ব্যবহার করে একটি ফাইলে ডেটা লেখার উদাহরণ দেওয়া হয়েছে।
FileOutputStream
ব্যবহার করে ফাইলে ডেটা লেখাimport java.io.FileOutputStream;
import java.io.IOException;
public class FileWritingExample {
public static void main(String[] args) {
try (FileOutputStream fos = new FileOutputStream("output.txt")) {
String data = "Hello, this is a test.";
fos.write(data.getBytes());
} catch (IOException e) {
e.printStackTrace();
}
}
}
এখানে, FileOutputStream
ব্যবহার করে একটি ফাইলে বাইনারি ডেটা লেখা হয়েছে। getBytes()
মেথডটি স্ট্রিংটি বাইট অ্যারেতে রূপান্তরিত করে।
BufferedWriter
ব্যবহার করে ফাইলে টেক্সট লেখাimport java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
public class BufferedWriterExample {
public static void main(String[] args) {
try (BufferedWriter writer = new BufferedWriter(new FileWriter("output.txt"))) {
writer.write("Hello, this is a test.");
writer.newLine();
writer.write("Second line of text.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
এখানে, BufferedWriter
ব্যবহার করে একটি ফাইলে টেক্সট লেখা হয়েছে। newLine()
ফাংশনটি একটি নতুন লাইন যোগ করতে ব্যবহৃত হয়।
java.nio
(NIO)Java NIO (New I/O) একটি উন্নত API যা বড় পরিমাণের ডেটা দ্রুত প্রক্রিয়া করতে সহায়ক। java.nio
এর ক্লাসগুলি যেমন Path
, Files
, এবং ByteBuffer
ব্যবহার করে ফাইল I/O সহজতর হয়।
Files
ব্যবহার করে ফাইল থেকে ডেটা পড়া (Java NIO)import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.io.IOException;
public class NIOFileReadExample {
public static void main(String[] args) {
Path path = Paths.get("example.txt");
try {
Files.lines(path).forEach(System.out::println);
} catch (IOException e) {
e.printStackTrace();
}
}
}
এখানে Files.lines()
ব্যবহার করে একটি ফাইল থেকে লাইন বাই লাইন ডেটা পড়া হয়েছে। এটি Stream
API ব্যবহার করে ডেটাকে প্রক্রিয়া করে।
Java NIO লাইব্রেরির সাহায্যে ফাইল কপি করা আরও দ্রুত এবং কার্যকরী।
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.io.IOException;
public class NIOFileCopyExample {
public static void main(String[] args) {
Path sourcePath = Paths.get("source.txt");
Path destinationPath = Paths.get("destination.txt");
try {
Files.copy(sourcePath, destinationPath);
System.out.println("File copied successfully.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
এখানে, Files.copy()
ব্যবহার করে একটি ফাইল থেকে অন্য ফাইলে ডেটা কপি করা হয়েছে।
Java I/O লাইব্রেরি ব্যবহারের মাধ্যমে ফাইল থেকে ডেটা পড়া এবং ফাইলে ডেটা লেখা সহজ হয়। কিছু সাধারণ I/O অপারেশন যেমন ফাইল রিডিং, রাইটিং, এবং কপি করা Java I/O এবং NIO লাইব্রেরির মাধ্যমে করা যায়। নিচে প্রধান পয়েন্টগুলি:
I/O অপারেশন | ক্লাস/ফাংশন ব্যবহার করা হয় |
---|---|
ফাইল থেকে পড়া | FileInputStream , BufferedReader , Files.lines() |
ফাইলে লেখা | FileOutputStream , BufferedWriter |
ফাইল কপি করা | Files.copy() |
NIO ব্যবহার | Path , Files , ByteBuffer |
Java I/O লাইব্রেরি ব্যবহার করে আপনি কার্যকরভাবে ফাইল সিস্টেমের সাথে যোগাযোগ করতে পারেন এবং ফাইল প্রক্রিয়াকরণ সহজভাবে পরিচালনা করতে পারেন।
common.read_more